Beschreibung, Kommentar, JSON-String oder Typ für Variablen oder Datentypen angeben

Syntax
VAR | VAR_INPUT | VAR_OUTPUT | VAR_IN_OUT | VAR_GLOBAL | VAR_EXTERNAL | VAR_TEMP
   name_1, name_2, ..., name_n : data-type := initial-value {
      description := "string";
      comment := "string";
      customDataJson := 'Json-String';
      concreteType := data-type; (* only relevant for vendor blocks with 'ANY' inputs used in other vendor blocks' *)
      };
   ...
END_VAR 
 
TYPE
   name_A : <data-type-declaration> := initial-value {
      description := "string";
      comment := "string";
      customDataJson := 'Json-String';
      };
   ...
   name_B: STRUCT
      name_e1 : type := initial-value {
        description := "string";
        comment := "string";
        customDataJson := 'Json-String';
        };
      ...
   END_STRUCT; 
END_TYPE
Bedeutung

Angabe dieser zusätzlichen Daten (= Daten-Elemente) bei einer →Variablen, einem →Datentyp oder einem Strukturelement (= Sprach-Element):

  • eine Beschreibung (auch als Langname bekannt) = Daten-Element description

  • einen Kommentar = Daten-Element comment

  • einen →JSON-String = Daten-Element customDataJson

  • einen konkreten Datentypen = Daten-Element concreteType

Implementierungsabhängige Realisierung

Laut der →IEC-Norm sind diese Daten-Elemente eine implementierungsabhängige Realisierung eines →Pragmas.

Die Angabe der Daten-Elemente ist vor dem abschließenden Zeichen ; des Sprach-Elements erforderlich, aber nach allen optionalen Angaben (z.B. dem →Initialisierungswert). Die Angabe beginnt mit dem Zeichen { und endet mit dem Zeichen }, jedes Daten-Element endet mit dem Zeichen ;. Sie können eines, 2 oder alle Daten-Elemente pro Sprach-Element angeben. Bei mehr als einem Daten-Element halten Sie die Reihenfolge laut der Syntax ein.

Der Text für die Beschreibung, den Kommentar und den JSON-String muss ein Zeichenfolge-Literal in einem →Pragma sein.

Beispiele für Zeichenfolge-Literale in Pragmas

Zeichenfolge-Literale in Pragmas bestehen aus keinem oder mehreren Zeichen, die entweder mit dem einfachen Anführungszeichen ' oder dem doppelten Anführungszeichen " eingeschlossen werden.

Beschreibung

Beispiele

Literal mit einfachem Anführungszeichen

'' (leeres Literal),  'OK',  'ABCDEF', 'B', ' ' (nur ein Leerzeichen im Literal)

Literal mit doppeltem Anführungszeichen

"" (leeres Literal),  "OK",  "ABCDEF", "B", " " (nur ein Leerzeichen im Literal)

Sonderzeichen, wie z.B. Umlaute oder €, aber mit der Ausnahme von $, können Sie direkt in das Literal sowohl in ' als auch in " eingeben.
Als Alternative können Sie Sonderzeichen als Kombinationen von 3 Zeichen, beginnend mit dem Dollar-Zeichen ($) und gefolgt von 2 Hexadezimal-Ziffern, eingegeben werden. Dies ist analog zur Eingabe in Zeichenfolge-Literalen.

Beispiele:

  • Statt "Änderung" oder 'Änderung' geben Sie "$C4nderung" oder '$C4nderung' ein.

  • Statt "€300" oder '€300' geben Sie "$80300" oder '$80300' ein.

Mehr Beispiele für solche Kombinationen und weiterführende Links finden Sie im Glossar-Artikel "→Zeichenfolge-Literal".

Zusätzlich sind die folgenden Angaben für die Zeichenfolge-Literale in Pragmas möglich:

Angabe

Bedeutung

Beispiel

'$''

in ': Literal mit einfachem Anführungszeichen '

'This is $'just$' a test.'

'$"'

in ': Literal mit doppeltem Anführungszeichen "

'This is $"just$" a test.'

'"'

in ': Literal mit doppeltem Anführungszeichen "

'This is "just" a test.'

"'"

in ": Literal mit einfachem Anführungszeichen '

"This is 'just' a test."

""""

in ": Literal mit doppeltem Anführungszeichen "

"This is ""just"" a test."

"$""

in ": Literal mit doppeltem Anführungszeichen "

"This is $"just$" a test."

"$'"

in ": Literal mit einfachem Anführungszeichen '

"This is $'just$' a test."

Zusätzlich sind die folgenden Angaben für Zeichenfolge-Literale sowohl in ' als auch in " möglich:

Angabe

Bedeutung

$$

Literal mit Dollarzeichen $

$L oder $l

Literal mit Zeilenvorschub ("Line feed")

$N oder $n

Literal mit neuer Zeile ("Newline")

$P oder $p

Literal mit Seitenvorschub ("Form feed (page)")

$R oder $r

Literal mit Wagenrücklauf ("Carriage return")

$T oder $t

Literal mit Tabulator

$0A

Literal mit Kombinationen von 3 Zeichen, beginnend mit dem Dollar-Zeichen ($$) und gefolgt von 2 Hexadezimal-Ziffern (z.B. für Sonderzeichen – wie oben erwähnt)

Wenn Sie das Zeichen " im Text für einen JSON-String benötigen, geben Sie den Text am besten in ' ein (siehe Beispiel unten).

Die Daten-Elemente für Beschreibung, Kommentar und JSON-String werden üblicherweise von einem Systemintegrator ausgewertet. In Neuron Power Engineer sind Beschreibung und Kommentar der Variable auch im Schnittstellen-Editor einsehbar.

Das Daten-Element für einen konkreten Datentyp ist nur bei der Deklaration einer →Instanz eines →Vendor-Bausteins nötig, falls dieser Vendor-Baustein einen oder mehrere Eingänge mit einem →allgemeinen Datentyp enthält und die Deklaration der Instanz erfolgt in einem Vendor-Baustein (dadurch wird der Vendor-Baustein mit den ANY-Eingängen in einem anderen Vendor-Baustein verwendet). Durch die zusätzliche Angabe von concreteType und dem Datentyp data-type bei der Instanz sind die nötigen Typisierungsinformation beim Erstellen der Anwendung vorhanden.

Die Angabe der Daten-Elemente ist innerhalb dieser Abschnitte möglich:

Abschnitt

Die Angabe ist für dieses Sprach-Element möglich:

VAR ... END_VAR

interne Variable (siehe "Deklaration von internen Variablen")

VAR_INPUT ... END_VAR

Eingangsvariable (siehe "Deklaration von Eingangsvariablen in ST")

VAR_OUTPUT ... END_VAR

Ausgangsvariable (siehe "Deklaration von Ausgangsvariablen in ST")

VAR_IN_OUT ... END_VAR

Ein-/Ausgangsvariable (siehe "Deklaration von Ein-/Ausgangsvariablen in ST")

VAR_GLOBAL ... END_VAR

globale Variable (siehe "Deklaration von externen Variablen in ST", "Deklaration von globalen Variablen in Global-Objekt und deren Verwendung in ST" und "Globale Variablen für Ressource oder Konfiguration deklarieren und diese verwenden")

VAR_EXTERNAL ... END_VAR

externe Variable (siehe "Deklaration von externen Variablen in ST")

VAR_TEMP ... END_VAR

temporäre Variable (siehe "Deklaration von temporären Variablen in ST")

TYPE ... END_TYPE

Datentyp mit benannten Werten (siehe "Deklaration eines Datentyps mit benannten Werten (Enums) in ST"),
ARRAY-datentyp (siehe "Deklaration eines ARRAY-Datentyps in ST"),
direkt abgeleiteter Datentyp (siehe "Deklaration eines direkt abgeleiteten Datentyps in ST"),
Strukturelement (siehe "Deklaration eines strukturierten Datentyps in ST")

Beispiel: Beschreibung, Kommentar und JSON-String für eine lokale Variable
VAR
  Var1 : INT {description := "This is the long name for the variable.";
    comment := "This is the comment for the variable.";
    customDataJson := '{
    "glossary": {
      "title": "Variable (local)",
      "ID": "Var1"
        }
      }';
    };
END_VAR

Beispiel: Beschreibung und Kommentar für eine Funktionsbaustein-Instanz

VAR
  Inst1 : Control {description := "This is the long name for the function block instance.";
  comment := "This is the comment for the function block instance."; };
END_VAR
Beispiel: Beschreibung oder Kommentar für ein Strukturelement
TYPE
  complex : STRUCT
    re : REAL {description := "This is the long name for the 1st structure element.";};
    im : REAL {comment := "This is the comment for the 2nd structure element.";};
  END_STRUCT;
END_TYPE